﻿/************************************************************************

 This file is part of "10 Second Tim".

 "10 Second Tim" is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.

 "10 Second Tim" is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with "10 Second Tim".  If not, see <http://www.gnu.org/licenses/>.

************************************************************************/

// All code (c)2013 Scott Bevin. all rights reserved

using System.Collections.Generic;
using Microsoft.Xna.Framework.Input;

namespace LDE.Input
{
	public class InputTrigger
	{
		public InputTrigger( string name )
		{
			Name = name;
		}

		public InputTrigger Add( Keys k )
		{
			m_keys.Add( k );
			return this;
		}

		public InputTrigger Add( Buttons b )
		{
			m_buttons.Add( b );
			return this;
		}

		public InputTrigger Add( MouseInputs m )
		{
			m_mouseButtons.Add( m );
			return this;
		}

		public string Name { get; private set; }

		private List<Keys> m_keys = new List<Keys>( );
		private List<Buttons> m_buttons = new List<Buttons>( );
		private List<MouseInputs> m_mouseButtons = new List<MouseInputs>( );

		public List<Keys> KeyboardButtons { get { return m_keys; } }

		public List<Buttons> GamepadButtons { get { return m_buttons; } }

		public List<MouseInputs> MouseButtons { get { return m_mouseButtons; } }
	}
}